1. Technical Field
The invention relates to client-server interaction in a computer environment. More particularly, the invention relates to the creation and operation of agents for asynchronous client-server transactions in a computer environment.
2. Description of the Prior Art
Webserver users have had difficulty with keeping track of the contents of a webserver. Currently, if a user is waiting for updates to a document on a website, then he must periodically visit the website (hosted on a webserver(s)) to examine the document. There is no automatic method for letting a user know when a document is updated. This forces users to frequently visit servers which causes increased network traffic, higher loads on the server, slower response times, and inconvenience to the users.
Additionally, users sometimes require periodic reminders or need to perform certain tasks periodically, e.g., sending an email to someone on their birthday. User tasks may be highly time critical. Web Servers currently have no way of performing such tasks. This is because a Web Server is passive and performs tasks only when a user is connected to it.
None of the current Web Servers have solved this problem elegantly. They require the user to periodically poll a website. This places the burden on the user to remember important dates and, if the user forgets a date, he will miss the important tasks associated with that date. As mentioned above, the current approaches cause an increase in network traffic, higher loads on the Web Server, and have no way to automate routine tasks.
It would be advantageous to provide a server agent system that intelligently monitors a server for certain events. It would further be advantageous to provide a server agent system that allows a client to easily create an agent that performs operations specified by the client in response to these events without any further involvement from the client.
The invention provides a server agent system. The system asynchronously monitors events that occur on a server that are specified by a client. The server performs actions in response these specific events. In addition, the invention provides a system that allows the user to easily create and maintain the agents that perform the monitoring services.
A preferred embodiment of the invention provides agents, transmitted to a server by a client, that monitor specific event(s) on the server. When a pre-defined event(s) occurs, an agent performs a set action(s) in response to each event. The actions are pre-defined by the client.
The agent requires no further intervention of the client once it is placed on the server. The type of events that an agent can perform are specified by the host server.
Agents are created by a client or news reader. When created by a news reader, agents are treated as a value added service provided by the application.
The types of actions that an agent performs can be almost anything that the client desires and include the execution of Java and/or Javascript programs. The Java and/or Javascript programs are supplied by the client or the server. An agent""s events and actions are subject to the same access control and security restrictions as the client that submitted the agent.
Email is used to send notifications from a server to a client, confirming that an agent submitted by a client to the server was received. The email facilities are diverse such that the client can also specify that an email notification be sent to a group of clients. Email notification is also used by servers to notify a client that an agent has expired.
The types of agents available on a server are pre-defined. These pre-defined agents are supplied as agent templates and are building blocks for the client to build agents with. A server can only supply agents that it understands. Servers publish the available agent templates and events on an agent home page. Clients select from the list of agent types available on the server and submit an agent to the server.
Servers also provide administration services for clients with resident agents. Clients monitor and manage their agents on each server. Each agent is assigned a unique identifier and token by the server. Names can also be assigned to an agent by the client. Server administrators are provided with an administration function to maintain and manage agents resident on that server.
Agent objects are created on the server with a unique identify. The agent is then mapped to the proper event and is triggered upon occurrence of that event. When the agent is triggered, its action list is processed. The actions are executed and agent information and statistics are logged.
Other aspects and advantages of the invention will become apparent from the following detailed description in combination with the accompanying drawings, illustrating, by way of example, the principles of the invention.